"""
import jsonschema
jsonschema.validate(实际结果的字典内容， schema校验规则的字典数据)
jsonschema.validate(instance, schema)
- instance： 要验证的JSON数据
- schema： 用于校验JSON数据的验证规则


需求： 测试ihrm登录接口-登录成功
要求： 全量校验接口返回结果（ data字段为字符串， 其他字段进行值匹配）
"""

import jsonschema
import requests
import unittest


class TestJsonSchema(unittest.TestCase):

    def test01(self):
        url = "http://ihrm-test.itheima.net/api/sys/login"
        r = requests.post(url, json={"mobile": "13800000002", "password": "123456"})
        json_data = r.json()
        print(json_data)

        # 编写schema：
        my_schema = {
            "type": "object",
            "properties": {
                "success": {"const": True},
                "code": {"const": 10000},
                "message": {"const": "操作成功！"},
                "data": {"type": "string"}
            },
            "required": ["success", "code", "message", "data"]
        }

        # 验证：
        jsonschema.validate(instance=json_data, schema=my_schema)
